package com.java.core1.chapter3;
import org.junit.Test;
/**
* @author ClearScenery
* @version 创建时间：2019年3月29日 下午3:09:07
* @ClassName StringBuilder
* @Description 
*/
public class StringBuilderTest {
	@Test
	public void testStringBuilder() {
		StringBuilder builder = new StringBuilder();
		builder.append("hello").append("world");
		System.out.println(builder.toString());
		
		StringBuilder reverse = builder.reverse();
		System.out.println(reverse.toString());
		
		StringBuilder reverse2 = reverse.reverse();
		
		System.out.println(reverse == reverse2);
		
		reverse2.insert(0, 'g');
		
		System.out.println(reverse2.toString());
		
		reverse2.delete(0, 1);//不包括尾索引，删除代码单元
		
		System.out.println(reverse2.toString());
		
		
		//码点：就是某个任意字符在Unicode编码表中对应的代码值。代码单元：是在计算机中用来表示码点的，大部分码点只需要一个代码单元表示，但是有一些是需要两个代码单元表示的。

		String a = "a";
		
		System.out.println(a.codePointAt(0));
		
		reverse2.appendCodePoint(97);
		
		System.out.println(reverse2.toString());
		
		reverse2.setCharAt(0, 'a');//设置不是插入，修改了该位置的值，设置一个代码单元
		
		System.out.println(reverse2.toString());
	}
}
